 <center>
<H1>Documentation for PBL</H1>
The Program Base Library
</center>

<H1>Table of Contents</H1>
<H2>General stuff</H2>
<UL>
<LI><A HREF="AIntroduction.html">A: Introduction</A>
<LI><A HREF="BFiles.html">B: Files</A>
<LI><A HREF="CErrorcodes.html">C: Error codes</A>
<LI><A HREF="DDefinitionsforKeyFileParameters.html">D: Definitions for Key File Parameters</A>
<LI><A HREF="EDefinitionsforISAMParameters.html">E: Definitions for ISAM Parameters</A>
</UL>
<H2>Functions</H2>
<UL>
<LI><A HREF="pblHtCreate.html">pblHtCreate</A> <I> create a new hash table</I>
<LI><A HREF="pblHtCurrent.html">pblHtCurrent</A> <I> get data of current key in hash table</I>
<LI><A HREF="pblHtDelete.html">pblHtDelete</A> <I> delete a hash table</I>
<LI><A HREF="pblHtFirst.html">pblHtFirst</A> <I> get data of first key in hash table</I>
<LI><A HREF="pblHtInsert.html">pblHtInsert</A> <I> insert a key / data pair into a hash table</I>
<LI><A HREF="pblHtLookup.html">pblHtLookup</A> <I> search for a key in a hash table</I>
<LI><A HREF="pblHtNext.html">pblHtNext</A> <I> get data of next key in hash table</I>
<LI><A HREF="pblHtRemove.html">pblHtRemove</A> <I> remove an item from the hash table</I>
<LI><A HREF="pblISAMFILE_TestFrame.html">pblISAMFILE_TestFrame</A> <I> test frame for the ISAM file library</I>
<LI><A HREF="pblIsamClose.html">pblIsamClose</A> <I> close an ISAM file</I>
<LI><A HREF="pblIsamCommit.html">pblIsamCommit</A> <I> commit or rollback changes done during a transaction</I>
<LI><A HREF="pblIsamDelete.html">pblIsamDelete</A> <I> delete the current record of the ISAM file.</I>
<LI><A HREF="pblIsamFind.html">pblIsamFind</A> <I> find a record in an ISAM file, set the current record</I>
<LI><A HREF="pblIsamFlush.html">pblIsamFlush</A> <I> flush an ISAM file</I>
<LI><A HREF="pblIsamGet.html">pblIsamGet</A> <I> get the key and keylen of a record</I>
<LI><A HREF="pblIsamInsert.html">pblIsamInsert</A> <I> insert a new record with the given keys and data into the isam file,</I>
<LI><A HREF="pblIsamOpen.html">pblIsamOpen</A> <I> open an ISAM file, creates the file if necessary</I>
<LI><A HREF="pblIsamReadData.html">pblIsamReadData</A> <I> read the data of the current record</I>
<LI><A HREF="pblIsamReadDatalen.html">pblIsamReadDatalen</A> <I> read the datalen of the current record</I>
<LI><A HREF="pblIsamReadKey.html">pblIsamReadKey</A> <I> read the key and keylen of the current record</I>
<LI><A HREF="pblIsamSetCompareFunction.html">pblIsamSetCompareFunction</A> <I> set an application specific compare function for a key of an ISAM file</I>
<LI><A HREF="pblIsamStartTransaction.html">pblIsamStartTransaction</A> <I> start a transaction on a set of ISAM files</I>
<LI><A HREF="pblIsamUpdateData.html">pblIsamUpdateData</A> <I> update the data of the current record</I>
<LI><A HREF="pblIsamUpdateKey.html">pblIsamUpdateKey</A> <I> update a key of the current record of the ISAM file</I>
<LI><A HREF="pblKEYFILE_TestFrame.html">pblKEYFILE_TestFrame</A> <I> test frame for the key file library</I>
<LI><A HREF="pblKfClose.html">pblKfClose</A> <I> close a key file</I>
<LI><A HREF="pblKfCommit.html">pblKfCommit</A> <I> commit or rollback changes done during a transaction.</I>
<LI><A HREF="pblKfCreate.html">pblKfCreate</A> <I> create a key file with the name specified by path.</I>
<LI><A HREF="pblKfDelete.html">pblKfDelete</A> <I> delete the current record of the key file.</I>
<LI><A HREF="pblKfFind.html">pblKfFind</A> <I> find a record in a key file, set the current record</I>
<LI><A HREF="pblKfFlush.html">pblKfFlush</A> <I> flush a key file</I>
<LI><A HREF="pblKfGetAbs.html">pblKfGetAbs</A> <I> set current record to a record with an absolute position index</I>
<LI><A HREF="pblKfGetRel.html">pblKfGetRel</A> <I> set current record to a record with a relative position index</I>
<LI><A HREF="pblKfInit.html">pblKfInit</A> <I> change the number of cache blocks used per open key file</I>
<LI><A HREF="pblKfInsert.html">pblKfInsert</A> <I> insert a new record with the given key and data into a key file,</I>
<LI><A HREF="pblKfOpen.html">pblKfOpen</A> <I> open an existing key file</I>
<LI><A HREF="pblKfRead.html">pblKfRead</A> <I> read the data of the current record of the file</I>
<LI><A HREF="pblKfRestorePosition.html">pblKfRestorePosition</A> <I> restore the position of the current record saved by the last previous call to <!1><A HREF="pblKfSavePosition.html">pblKfSavePosition</A>().</I>
<LI><A HREF="pblKfSavePosition.html">pblKfSavePosition</A> <I> save the position of the current record for later restore</I>
<LI><A HREF="pblKfSetCompareFunction.html">pblKfSetCompareFunction</A> <I> set an application specific compare function for the keys of a key file</I>
<LI><A HREF="pblKfStartTransaction.html">pblKfStartTransaction</A> <I> start a transaction on a key file</I>
<LI><A HREF="pblKfUpdate.html">pblKfUpdate</A> <I> update the data of the current record</I>
<LI><A HREF="pbl_BufToLong.html">pbl_BufToLong</A> <I> read a four byte long from a four byte buffer</I>
<LI><A HREF="pbl_BufToShort.html">pbl_BufToShort</A> <I> read a two byte short from a two byte buffer</I>
<LI><A HREF="pbl_LongSize.html">pbl_LongSize</A> <I> find out how many bytes a four byte long would use in a buffer</I>
<LI><A HREF="pbl_LongToBuf.html">pbl_LongToBuf</A> <I> copy a four byte long to a four byte buffer </I>
<LI><A HREF="pbl_LongToVarBuf.html">pbl_LongToVarBuf</A> <I> copy a four byte long to a variable length buffer</I>
<LI><A HREF="pbl_ShortToBuf.html">pbl_ShortToBuf</A> <I> copy a two byte short to a two byte buffer </I>
<LI><A HREF="pbl_VarBufSize.html">pbl_VarBufSize</A> <I> find out how many bytes a four byte long uses in a buffer</I>
<LI><A HREF="pbl_VarBufToLong.html">pbl_VarBufToLong</A> <I> read a four byte long from a variable length buffer</I>
<LI><A HREF="pbl_malloc.html">pbl_malloc</A> <I> replacement for malloc</I>
<LI><A HREF="pbl_malloc0.html">pbl_malloc0</A> <I> replacement for malloc, initializes the memory to 0</I>
<LI><A HREF="pbl_mem2dup.html">pbl_mem2dup</A> <I> duplicate and concatenate two memory buffers</I>
<LI><A HREF="pbl_memcmp.html">pbl_memcmp</A> <I> compare two memory buffers, similar to memcmp</I>
<LI><A HREF="pbl_memcmplen.html">pbl_memcmplen</A> <I> find out how many starting bytes of two buffers are equal</I>
<LI><A HREF="pbl_memdup.html">pbl_memdup</A> <I> duplicate a buffer, similar to strdup</I>
<LI><A HREF="pbl_memlcpy.html">pbl_memlcpy</A> <I> memcpy with target length check</I>
</UL>
<H2>Variables</H2>
<UL>
<LI><A HREF="pbl_errno.html">pbl_errno</A> <I> integer value used for returning error codes</I>
<LI><A HREF="pbl_errstr.html">pbl_errstr</A> <I> character buffer used for returning error strings</I>
</UL>
<H2>Macros</H2>
<UL>
<LI><A HREF="PBLDATALENGTH.html">PBLDATALENGTH</A> <I> maximum data length of data being stored on index blocks of key files, </I>
<LI><A HREF="PBLKEYLENGTH.html">PBLKEYLENGTH</A> <I> the maximum length of a key of the key file component, </I>
<LI><A HREF="PBL_FREE.html">PBL_FREE</A> <I> make free save against NULL pointers, </I>
<LI><A HREF="PBL_LIST_.html">PBL_LIST_</A> <I> macros for linear list handling,</I>
<LI><A HREF="PBL_LIST_APPEND.html">PBL_LIST_APPEND</A> <I> append an element to the end of a linear list</I>
<LI><A HREF="PBL_LIST_PUSH.html">PBL_LIST_PUSH</A> <I> push an element to the beginning of a linear list</I>
<LI><A HREF="PBL_LIST_UNLINK.html">PBL_LIST_UNLINK</A> <I> remove an element from a linear list</I>
<LI><A HREF="pblKfFirst.html">pblKfFirst</A> <I> set the current record to the first record of the file</I>
<LI><A HREF="pblKfLast.html">pblKfLast</A> <I> set the current record to the last record of the file</I>
<LI><A HREF="pblKfNext.html">pblKfNext</A> <I> set the current record to the next record of the file</I>
<LI><A HREF="pblKfPrev.html">pblKfPrev</A> <I> set the current record to the previous record of the file</I>
<LI><A HREF="pblKfThis.html">pblKfThis</A> <I> return the datalen of the current record</I>
</UL>
<H2>Typedefs</H2>
<UL>
<LI><A HREF="pblHashTable_t.html">pblHashTable_t</A> <I> the hash table type the pblHt* functions are dealing with, </I>
<LI><A HREF="pblIsamFile_t.html">pblIsamFile_t</A> <I> the ISAM file type the pblIsam* functions are dealing with, </I>
<LI><A HREF="pblKeyFile_t.html">pblKeyFile_t</A> <I> the key file type the pblKf* functions are dealing with, </I>
</UL>
 <hr>
Copyright(C) 2002 Peter Graf, this software is distributed under the
<a href="http://www.gnu.org/">GNU</a> Lesser General Public License
<HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
